<!DOCTYPE HTML>
<html lang="en">
<head>
  <meta name="copyright" content=
  "Copyright (c) IBM Corporation and others 2008, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page.">
  <meta charset="utf-8">
  <link rel="STYLESHEET" href="../book.css" type="text/css">
  <script src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
  <title>How Secure Storage Works</title>
</head>
<body>
  <h1 class="Head">How Secure Storage Works</h1>
  <p>Let's consider a concrete example of Git integration. When you specify a password for a Git connection, the
  application offers you an option to save your user name and password using secure storage.</p>
  <p style="text-align: center"><img alt="Schema of secure storage encrypting data" src=
  "../images/equinox_secure_storage_start.svg"><br></p>
  <p style="text-align: center"><b>Picture 1. How secure storage works.</b></p>
  <p>Your Git password is passed as data to secure storage. Secure storage uses a "master" password to encrypt it and
  store the encrypted Git password in a file on disk.</p>
  <p>The master password is obtained from a password provider module. The master passwords are obtained in a "lazy"
  fashion, only when they are about to be used. Password providers can use different techniques:</p>
  <ul>
    <li>on <i>Windows</i>, the master password is generated as a random value that is encrypted based on your Windows
    login information and stored in secure storage;</li>
    <li>on <i>macOS</i>, the master password is initially created as a random value that is stored in the OS
    keyring;</li>
    <li>the default password provider simply prompts you for a password;</li>
    <li>other password providers might be supplied in your application.</li>
  </ul>
  <p>When data is saved with secure storage, the password provider is selected based on the priorities from the list of
  enabled password providers. Only that provider can be used in future to decrypt the data.</p>
  <h3 class="related">Related Concepts</h3><a href="ref-securestorage-start.htm">Secure storage</a><br>
  <a href="ref-securestorage-recovery.htm">Password recovery</a><br>
  <a href="ref-securestorage-passwd.htm">Life of a master password</a>
  <h3 class="related">Related Reference</h3><a href="ref-securestorage-prefs.htm">Secure storage preference
  page</a><br>
  <a href="ref-securestorage-options.htm">Secure storage runtime options</a>
</body>
</html>
